package com.ktgj.customer.api.domain;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 卡对象 card
 *
 * @author ruoyi
 * @date 2021-07-30
 */
public class Card extends BaseEntity
{
    public Card()
    {
        lstRightDetail = new ArrayList<>();
    }
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long cardId;

    /** 卡名称 */
    @Excel(name = "卡名称")
    private String cardSectionName;

    /** 卡售价 */
    @Excel(name = "卡售价")
    private BigDecimal price;

    /** 连续包年卡售价 */
    @Excel(name = "卡售价")
    private BigDecimal continuousPrice;

    /** 是否有附属卡 */
    @Excel(name = "是否有附属卡")
    private String attachment;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 创建人 */
    @Excel(name = "创建人")
    private Long createEmployeeId;

    /** 修改人 */
    @Excel(name = "修改人")
    private Long updateEmployeeId;

    /** 卡样图片链接 */
    @Excel(name = "卡样图片链接")
    private String backgroundImageurl;

    /** 卡片详情 */
    @Excel(name = "卡片详情")
    private Long cardDetails;

    /** 卡的有效期时间 （天） */
    @Excel(name = "卡的有效期时间 ", readConverterExp = "天=")
    private Long validDate;

    /** 卡名称字体颜色* */
    @Excel(name = "卡名称字体颜色*")
    private String cardNameTypefaceColour;

    /** 其他小字字体颜色* */
    @Excel(name = "其他小字字体颜色*")
    private String otherTypefaceColour;

    /** ”当前等级“标签字体颜色* */
    @Excel(name = "”当前等级“标签字体颜色*")
    private String lableTypefaceColour;

    /** ”当前等级“标签背景颜色* */
    @Excel(name = "”当前等级“标签背景颜色*")
    private String lableBackgroundColour;

    /** 卡等级* */
    @Excel(name = "卡等级*")
    private Long cardLevel;

    /** 前缀 */
    @Excel(name = "前缀")
    private String prefix;

    /** 中间位数 */
    @Excel(name = "中间位数")
    private Long midDigit;

    /** 中间开始值 */
    @Excel(name = "中间开始值")
    private Long midStartValue;

    /** 中间结束值 */
    @Excel(name = "中间结束值")
    private Long midEndValue;

    /** 结尾类型 1- 固定值；4-无结尾值 */
    @Excel(name = "结尾类型 1- 固定值；4-无结尾值")
    private String endType;

    /** 结尾值或位数 */
    @Excel(name = "结尾值或位数")
    private Long endValue;

    /**
     * 卡中包含的所有权益列表
     */
    private List<Rightdetail> lstRightDetail;


    public BigDecimal getContinuousPrice() {
        return continuousPrice;
    }

    public void setContinuousPrice(BigDecimal continuousPrice) {
        this.continuousPrice = continuousPrice;
    }

    public List<Rightdetail> getLstRightDetail() {
        return lstRightDetail;
    }

    public void setLstRightDetail(List<Rightdetail> lstRightDetail) {
        this.lstRightDetail = lstRightDetail;
    }

    public void setCardId(Long cardId)
    {
        this.cardId = cardId;
    }

    public Long getCardId()
    {
        return cardId;
    }
    public void setCardSectionName(String cardSectionName)
    {
        this.cardSectionName = cardSectionName;
    }

    public String getCardSectionName()
    {
        return cardSectionName;
    }
    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }
    public void setAttachment(String attachment)
    {
        this.attachment = attachment;
    }

    public String getAttachment()
    {
        return attachment;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setCreateEmployeeId(Long createEmployeeId)
    {
        this.createEmployeeId = createEmployeeId;
    }

    public Long getCreateEmployeeId()
    {
        return createEmployeeId;
    }
    public void setUpdateEmployeeId(Long updateEmployeeId)
    {
        this.updateEmployeeId = updateEmployeeId;
    }

    public Long getUpdateEmployeeId()
    {
        return updateEmployeeId;
    }
    public void setBackgroundImageurl(String backgroundImageurl)
    {
        this.backgroundImageurl = backgroundImageurl;
    }

    public String getBackgroundImageurl()
    {
        return backgroundImageurl;
    }
    public void setCardDetails(Long cardDetails)
    {
        this.cardDetails = cardDetails;
    }

    public Long getCardDetails()
    {
        return cardDetails;
    }
    public void setValidDate(Long validDate)
    {
        this.validDate = validDate;
    }

    public Long getValidDate()
    {
        return validDate;
    }
    public void setCardNameTypefaceColour(String cardNameTypefaceColour)
    {
        this.cardNameTypefaceColour = cardNameTypefaceColour;
    }

    public String getCardNameTypefaceColour()
    {
        return cardNameTypefaceColour;
    }
    public void setOtherTypefaceColour(String otherTypefaceColour)
    {
        this.otherTypefaceColour = otherTypefaceColour;
    }

    public String getOtherTypefaceColour()
    {
        return otherTypefaceColour;
    }
    public void setLableTypefaceColour(String lableTypefaceColour)
    {
        this.lableTypefaceColour = lableTypefaceColour;
    }

    public String getLableTypefaceColour()
    {
        return lableTypefaceColour;
    }
    public void setLableBackgroundColour(String lableBackgroundColour)
    {
        this.lableBackgroundColour = lableBackgroundColour;
    }

    public String getLableBackgroundColour()
    {
        return lableBackgroundColour;
    }
    public void setCardLevel(Long cardLevel)
    {
        this.cardLevel = cardLevel;
    }

    public Long getCardLevel()
    {
        return cardLevel;
    }
    public void setPrefix(String prefix)
    {
        this.prefix = prefix;
    }

    public String getPrefix()
    {
        return prefix;
    }
    public void setMidDigit(Long midDigit)
    {
        this.midDigit = midDigit;
    }

    public Long getMidDigit()
    {
        return midDigit;
    }
    public void setMidStartValue(Long midStartValue)
    {
        this.midStartValue = midStartValue;
    }

    public Long getMidStartValue()
    {
        return midStartValue;
    }
    public void setMidEndValue(Long midEndValue)
    {
        this.midEndValue = midEndValue;
    }

    public Long getMidEndValue()
    {
        return midEndValue;
    }
    public void setEndType(String endType)
    {
        this.endType = endType;
    }

    public String getEndType()
    {
        return endType;
    }
    public void setEndValue(Long endValue)
    {
        this.endValue = endValue;
    }

    public Long getEndValue()
    {
        return endValue;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("cardId", getCardId())
                .append("cardSectionName", getCardSectionName())
                .append("price", getPrice())
                .append("attachment", getAttachment())
                .append("status", getStatus())
                .append("createTime", getCreateTime())
                .append("createEmployeeId", getCreateEmployeeId())
                .append("updateTime", getUpdateTime())
                .append("updateEmployeeId", getUpdateEmployeeId())
                .append("backgroundImageurl", getBackgroundImageurl())
                .append("cardDetails", getCardDetails())
                .append("validDate", getValidDate())
                .append("cardNameTypefaceColour", getCardNameTypefaceColour())
                .append("otherTypefaceColour", getOtherTypefaceColour())
                .append("lableTypefaceColour", getLableTypefaceColour())
                .append("lableBackgroundColour", getLableBackgroundColour())
                .append("cardLevel", getCardLevel())
                .append("prefix", getPrefix())
                .append("midDigit", getMidDigit())
                .append("midStartValue", getMidStartValue())
                .append("midEndValue", getMidEndValue())
                .append("endType", getEndType())
                .append("endValue", getEndValue())
                .toString();
    }
}
